import 'dart:io';

void main() {
  // 模拟耗时操作阻塞程序的问题，并使用 Future 解决阻塞问题
  print('开始执行耗时操作');
  Future(() {
    // 耗时任务执行的代码
    sleep(Duration(seconds: 5));

    // 用来测试异常的代码
    /* dynamic str = 'hehe';
    str.haha(); */
    return '异步任务执行的结果';
  }).then((value) {
    // 监听异步任务执行结束
    print('异步任务执行结束了：$value');
  }).catchError((err) {
    // 捕获异常信息
    print('异步任务执行失败：$err');
  });
  print('不被阻塞的代码');
}
